package model

import (
	"go-admin/src/util"
	"gorm.io/gorm"
)

type User struct {
	CommonModel
	Username    string    `json:"userName" gorm:"comment:用户登录名"`
	Email       string    `json:"email" gorm:"comment:邮箱"`
	Password    string    `json:"-"  gorm:"comment:用户登录密码"`
	AvatarID    int       `json:"avatarid" gorm:"default:0;comment:用户头像的附件id"`
	Attach      Attach    `json:"avatar" gorm:"foreignKey:AvatarID;comment:用户头像"`
	UserGroup   UserGroup `json:"user_group" gorm:"comment:用户角色;"`
	UserGroupID int       `json:"user_group_id" gorm:"comment:用户角色ID"`
	Salt        string    `json:"-" gorm:"comment:与密码配合使用"`
	UserExtra   UserExtra `json:"userextra" gorm:"foreignKey:UID"`
}

func (u *User) BeforeCreate(db *gorm.DB) error {

	salt:= util.GenValidateCode(4)
	u.Password= util.MD5(u.Password+salt)
	u.Salt=salt
    return nil
}


